/*
 * @Author: your name
 * @Date: 2022-03-01 09:19:19
 * @LastEditTime: 2022-03-01 09:54:38
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \day02\11-迭代方法.js
 */

/* var arr=[12,10,18,26,35];
//迭代方法 every 参数 function（item，index，arr）{}
//返回值：布尔值 全部检测通过返回true ，否则就是false
 var result =arr.every(function(item,index,arr){
    return item >=10
 });
 console.log(result); */

//迭代方法 some 参数 function（item index arr）
//返回值如果有一项满足检测条件 直接返回true 不再往后检检测

/* var arr=[12,10,18,26,35];
var result =arr.some(function(item,index,arr){
  //  return item >40
  var result1=item>12;
  console.log(result1)
 });
 
 console.log(result);
 */


 //迭代方法3 map ---映射
 //参数：function（item ,index ,arr){}
 //返回值： 对 每一项数组 做了操作后的一个新数组
  var arr=[12,10,18,26,35];
  var result=arr.map(function(item,index,arr){
      return item+5;
      //源码 
     /*  for (var i=0;i<arr.length;i++){
          let newArr=[];
          newArr.push(arr[i]+5)
          return newArr */
      }
  );
  console.log(result);
  //4.迭代方法 filter ---过滤          --------不会修改原数组
  // 参数 function（item，index ，arr）{}
  //返回值符合条键的数组袁术组成的新数组
  var arr=[12,10,18,26,35];
  var result=arr.filter(function(item,index,arr){
    return item>10

    //源码
   /*  for (var i=0;i<arr.length;i++){
        let newArr=[];
        if(item>10)
{   newArr.push(arr[i])
}        
        return newArr */
      });
      console.log(result);

      //5.迭代方法 foreach 
      var arr=[12,10,18,26,35];
      arr.forEach(function(item,index,arr){
          console.log(item,index,arr);
      })